package main

import "fmt"

func main0301() {
	a := 10
	fmt.Printf("%p\n", &a)

	var p *int = &a
	fmt.Printf("%p\n", p)

	// 通过指针间接修改变量的值
	*p = 123
	fmt.Println(a)
}

func main0302() {
	// 声明指针变量 默认值为0x0(nil)
	// 内存地址编号为0   0 - 255的空间为系统占用 不允许用户访问
	var p *int
	fmt.Println(p)
	 p = new(int)
	 *p = 123
	 fmt.Println(p)
	 fmt.Println(*p)
}

func main(){
	// 野指针 指针变量指向了一个未知空间 会报错
	var p *int = *int(0x042058088)
	// 指针变量必须有一个合理的指向
	// 在程序中允许出现空指针 不允许出现野指针
	fmt.Println(*p)
}